/*
 * Professional Android, 4th Edition
 * Reto Meier and Ian Lake
 * Copyright 2018 John Wiley Wiley & Sons, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.professionalandroid.apps.earthquake;

import android.arch.persistence.room.Database;
import android.arch.persistence.room.RoomDatabase;
import android.arch.persistence.room.TypeConverters;

/**
 * 6.新建扩展自RoomDatabase类的新抽象类 EarthquakeDatabase来完成数据库设置
 * 使用 @Database 注解 指定 Earthquake.class 作为实体，并指定数据库版本号
 * 使用 @TypeConverters 注解 指定 EarthquakeTypeConverters 转换器
 */
@Database(entities = {Earthquake.class}, version = 1)
@TypeConverters({EarthquakeTypeConverters.class})
public abstract class EarthquakeDatabase extends RoomDatabase {
  /**
   * 一个返回 EarthquakeDAO 数据访问对象的抽象方法
   * @return
   */
  public abstract EarthquakeDAO earthquakeDAO();
}